$(document).ready(function() {
	$.get(urlrest, function(result) {
		$.each(result.factura, function(index, value) {
			var source = $("#template").html();
			var template = Handlebars.compile(source);
			$("#body").append(template(value));
		});
	});

	$.get(urlrestclientes, function(result) {
		$.each(result.cliente, function(index, value) {
			var source = $("#tpl_clientes").html();
			var template = Handlebars.compile(source);
			$("#selector_cliente").append(template(value));
			$("#selector_cliente_edit").append(template(value));
		});
	});
	
	$('#filtrar').click(function(e) {
		e.preventDefault();
		
		var metrosdesde = $('#metrosdesde').val();
		var metroshasta = $('#metroshasta').val();
		var nifcliente = $('#nifcliente').val();
		
		url = '?';

		if(nifcliente != '') {
			url += 'nif=' + nifcliente + '&';
		}
		if(metrosdesde != '') {
			url += 'metrosdesde=' + metrosdesde + '&';
		}
		if(metroshasta != '') {
			url += 'metroshasta=' + metroshasta + '&';
		}
		
		if((metrosdesde == '' && metroshasta != '') || (metrosdesde != '' && metroshasta == '')) {
			alert("Ambas fechas son necesarias!");
			return;
		}
		
		var url = url.substr(0,url.length-1);
		
		if(url == '') {
			$("#body").html('');
			$.get(urlrest, function(result) {
				$.each(result.factura, function(index, value) {
					var source = $("#template").html();
					var template = Handlebars.compile(source);
					$("#body").append(template(value));
				});
			});
		}
		else {
			$("#body").html('');
			$.get(urlrest + url, function(result) {
				$.each(result.factura, function(index, value) {
					var source = $("#template").html();
					var template = Handlebars.compile(source);
					$("#body").append(template(value));
				});
			}).error(function() {
				alert("¿Pero qué filtros son esos, colega?");
				$("#body").html('Muy mal, colega!');
			})
		}
	});

	$('#anyadir').click(function() {
		var data = {
			codigo : $('#formcodigo').val(),
			metros : $('#formmetros').val(),
			tarifa : $('#formtarifa').val(),
			fecha : $('#formfecha').val(),
			periodo : $('#formperiodo').val(),
			cliente : $('#selector_cliente').val()
		};
		$.post(urlrest, data, function() {
			location.reload();
		});
	});

	$('.btnEditar').live('click', function() {
		seleccionado = $(this).attr('class');
		seleccionado = seleccionado.split(' ')[0];
		seleccionado = seleccionado.replace('codigo_', '');

		$.get(urlrest + seleccionado, function(result) {
			$('#eformcodigo').val(result.codigo);
			$('#eformmetros').val(result.metros);
			$('#eformtarifa').val(result.tarifa);
			$('#eformfecha').val(result.fecha);
			$('#eformperiodo').val(result.periodo);
			$("#selector_cliente_edit option[value="+result.nif+"]").attr("selected",true);
		});

		$('#edit').modal('show');
	});

	$('#editar').click(function() {
		var data = '{"codigo":"' + $('#eformcodigo').val() + '",';
		data += '"metros":"' + $('#eformmetros').val() + '",';
		data += '"tarifa":"' + $('#eformtarifa').val() + '",';
		data += '"fecha":"' + $('#eformfecha').val() + '",';
		data += '"periodo":"' + $('#eformperiodo').val() + '",';
		data += '"nif":"' + $('#selector_cliente_edit').val() + '"}';

		$.ajax({
			url : urlrest + $('#eformcodigo').val(),
			data : data,
			type : 'put',
			contentType : 'application/json',
			beforeSend : function(xhr) {
				xhr.overrideMimeType("application/json");
				xhr.setRequestHeader("Accept", "application/json");
			}
		}).done(function(data) {
			location.reload();
		});
	});

	$('.btnBorrar').live('click', function() {
		seleccionado = $(this).attr('class');
		seleccionado = seleccionado.split(' ')[0];
		seleccionado = seleccionado.replace('borrar_', '');

		var confirmacion = confirm("Seguro que quieres borrar?");

		if (confirmacion) {
			$.ajax({
				url : urlrest + seleccionado,
				type : 'delete',
			}).done(function(data) {
				location.reload();
			});
		}
	});

});